"""
编程题
(1).实现登录验证,如果用户名是列表中元素["smith" , "tom" , "hsp"] , 密码 "888",则登录成功,否则登录失败
(2).不管登录是否成功,都需要再文件中记录登录的信息
(3).登录成功,可以看到相应的操作菜单的提示，请实现相应的功能
"""
"""
思路分析
(1).使用while进行无限循环，保持软件在线状态
(2).编写菜单等信息
(3).在输入用户名和密码的前面要做判断,如果当前用户是登录的，就不走登录流程了
(4).如果没有登录，在登录的时候要保存用户信息
(5).在退出系统的时候,要删除用户信息
思路是完整的
看老师的视频照着写 不如自己先写一遍
即使跟老师的不一样，但是最终达到的目的是一样的就是可以的
毕竟这是自己的思路
"""
import os
from login_service import *
while True:
    #获取登录文件信息看看是否存在
    login_file_path = "d:/a/login.txt"
    login_target_user = ["smith" , "tom" , "hsp"]
    #如果存在，就代表登录了
    if not os.path.exists(login_file_path):
        while True:
            user_name = input("请输入用户名:")
            pass_word = input("请输入 密 码:")
            #判断用户名是否正确
            if user_name not in login_target_user:
                print("用户名不存在")
                login_info = f"登录用户{user_name} , 登录失败,用户名不存在 , 登录时间 : {get_local_time()}\n"
                save_login_log(login_file_log, login_info)
            elif user_name in login_target_user and pass_word != "888":
                login_info = f"登录用户{user_name} , 登录失败,密码不正确 , 登录时间 : {get_local_time()}\n"
                print("密码不正确")
                save_login_log(login_file_log, login_info)
            else:
                print("登录成功")
                #保存登录人信息
                save_login_user(user_name , pass_word)
                #保存日志信息
                login_info = f"登录用户{user_name} , 登录成功 , 登录时间 : {get_local_time()}\n"
                save_login_log(login_file_log, login_info)
                break
                #你是做出来了  没问题  功能也实现了
                #这是你的思路 你是成功的,你有自己的思路是没问题的
                #你自己的思路也是很珍贵的
                #不过每个人的想法不一样， 学习一下别人的思路  我就多掌握一种方法
                #但是还是要学习一下韩老师的思路  这思路真的牛 学习把
                #最终目的是一样的 就可以

    operation_menu()

    choose = int(input("请输入你的选择:"))
    if choose == 1:
        #查询登录信息
        user_name = select_login_user()
        print(user_name)
    elif choose == 2:
        #获取登录日志
        get_login_log()
    elif choose == 3:
        #当退出系统的时候，要删除登录文件信息
        login_out()
        print("退出系统成功...")
        break